Skip to content

Accessibility support for iCarousel#653

Open
JinlianWang wants to merge 5 commits into
nicklockwood:masterfrom
JinlianWang:master
Open

Accessibility support for iCarousel#653
JinlianWang wants to merge 5 commits into
nicklockwood:masterfrom
JinlianWang:master

Conversation

@JinlianWang
Copy link
Copy Markdown

The current accessibility support for iCarousel is minimal and un-desirable for most cases. Using UIAccessibilityTraitAllowsDirectInteraction, it allows users to interact with the widget directly using swipe left/right under VoiceOver. However, at the same time, it does not allow VoiceOver to move its focus to the next/previous elements (sibling of iCarousel) once the focus is on iCarousel, through standard way of one finger swiping left/right. It also has other limitations such as it does not interact with users by notifying them through voice what item of iCarousel they are working with under VoiceOver mode.

For this pull request, we attempt to solve this problem through two categories. Each category fits a different scenario and users are encouraged to choose one that fits their needs. The 'iCarousel+AccessibilityScrolling' category is a general fit for most cases: in accessibility mode, it would allow users to scroll to previous/next item of iCarousel through three-finger swipe left/right. According to Apple Verifying App Accessibility on iOS(https://developer.apple.com/library/ios/technotes/TestingAccessibilityOfiOSApps/TestAccessibilityonYourDevicewithVoiceOver/TestAccessibilityonYourDevicewithVoiceOver.html#//apple_ref/doc/uid/TP40012619-CH3-SW2), it is the standard way of "navigate to the next or previous page". Another category is "iCarousel+AccessiblityButtons", once deployed, this category would empower iCarousel with two auxiliary buttons under VoiceOver mode. One allows 508 users to browse to previous items of iCarousel while the other to browse to the next items. The buttons are removed once users turns off VoiceOver mode.

I have added the first category to Advanced iOS Demo project and the second one to Paging Example project to help users to see them in actions.

@JinlianWang
Copy link
Copy Markdown
Author

@nicklockwood Just merge your change into this pull request so that it does not have conflict. Please let me know if any suggestions/comments.

@nicklockwood
Copy link
Copy Markdown
Owner

Thanks for doing this - much appreciated. It will take me a little while to review as I have another project that I'm working on, but it looks great!

@JinlianWang
Copy link
Copy Markdown
Author

@nicklockwood Thanks. Would love to update the documentation or any other parts correspondingly if needed. Feel free to let me know.

@JinlianWang
Copy link
Copy Markdown
Author

@nicklockwood Any chance to take a look?

@JinlianWang
Copy link
Copy Markdown
Author

@nicklockwood Do you prefer to have the accessibility support to be part of the iCarousel? If that would make it easier, please let me know and I will make the change.

@VictorSharov
Copy link
Copy Markdown

@JinlianWang thank you for this commit!
@nicklockwood It will be great if you will add it to project

@warpling
Copy link
Copy Markdown

warpling commented Aug 10, 2017

Bump @nicklockwood
Would be much apprecaited to see this merged even two years later!! :)
Even Gemini doesn't have accessibility support, would be great to set an example!

@jeffrwon
Copy link
Copy Markdown

+1

@shynkevich-alex
Copy link
Copy Markdown

Guys could you merge it?
We cant develop automation tests because this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants